home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / api_tool / intro.doc < prev    next >
Text File  |  1988-12-26  |  11KB  |  224 lines

  1.              Introducing DESQview 2.2 API Tools
  2.  
  3.                  Bringing new power to DOS.
  4.  
  5.             For us, it's an unveiling of pleasure.
  6.  
  7. In the DESQview 2.2 view of the world there are three kinds of DOS
  8. programs.
  9.  
  10. There's the DESQview-oblivious program, such as 1-2-3 or AutoCAD, written
  11. with no consideration of DESQview, but still compatible with DESQview.
  12.  
  13. There's the DESQview-aware program. It has been modified slightly
  14. so that it runs efficiently in DESQview and concurrently with other
  15. programs. Paradox, dBASEIII, and WordPerfect are DESQview-aware.
  16.  
  17. Then there's the DESQview-specific program, like the DESQview Datebook.
  18. It's written to take advantage of DESQview's power. We've kept the
  19. knowledge of how to write DESQview-specific programs under wraps too
  20. long. But if you look closely, you'll discover DESQview 2.2 behind
  21. ICL North America's point of sale system, MCI International's communication
  22. workstation, and Strawberry Software's market research program, A-Cross, to
  23. name only a few.
  24.  
  25.  
  26.              For you, a cornucopia of treasure.
  27.  
  28. Hidden deep inside DESQview 2.2 is a powerful API (Application Program
  29. Interface) that lets programs control and interact with DESQview and
  30. with other programs running in DESQview. For MIS and DP departments
  31. building workstation solutions, the DESQview 2.2 API provides enormous
  32. benefits. For it brings OS/2 capabilities (and even OS/2 look and
  33. feel if desired) to DOS.
  34.  
  35. Using the DESQview 2.2 API, a program can use all the DESQview 2.2
  36. menu functions available to the user as well as the power-packed capabilities
  37. built into DESQview--multitasking, windowing, intertask communications,
  38. mailboxes, shared programs, memory management, mousing, data transfer,
  39. menu-building, and help.
  40.  
  41. So DOS programs can now act alone or together. Either within a window
  42. or hidden behind one, they can do chores in silence or in chorus,
  43. all the while utilizing the full power of DESQview, all the while
  44. bringing you treasures you only dreamed 'til now were possible.
  45.  
  46.  
  47.              The inner power of DESQview
  48.  
  49. A program taking advantage of the DESQview 2.2 API can display information
  50. in windows and control the color, dimensions, position and ordering
  51. of windows on the screen.
  52.  
  53. It can disable, limit or enhance the standard DESQview user interface.
  54. Which means that you can have DESQview-like menus in your program.
  55. Or menu bars and pull-down menus. Or IBM SAA-like menus.
  56.  
  57. It can let DESQview handle all keyboard and mouse input to menus and
  58. forms--yet still process keyboard and mouse input directly when necessary.
  59.  
  60. It can schedule processing after a certain time interval or at a certain
  61. time. It can spawn subtasks for performing background operations such
  62. as printing, recalculating, and communicating. It can communicate
  63. between the various tasks in the system.
  64.  
  65.  
  66.                        Multitasking
  67.  
  68. DESQview supports true multitasking of existing DOS programs in addition
  69. to programs written specifically for DESQview. So a user can run multiple
  70. programs (Lotus 1-2-3, dBASE III and others) and DESQview-specific
  71. programs (DESQview Datebook, Calculator, your own program) concurrently.
  72. So a user can switch to whichever program needs  input and switch
  73. away while the program recalculates or sorts in background.
  74.  
  75. Under DESQview, each program runs in its own "virtual machine", thinking
  76. it has exclusive access to DOS, the keyboard, etc. DESQview calls
  77. these virtual machines "processes".
  78.  
  79. DESQview calls the portion of a process that keeps track of which
  80. instruction to execute next and what the register contents are a
  81. "task" (or "thread"). Every  program running under DESQview consists,
  82. initially, of a single process running a single task.
  83.  
  84. DESQview-specific programs may create additional tasks within their
  85. own processes and additional processes. Additional tasks allow a portion
  86. of your program, the part that controls the printer for example, to
  87. be run in background. Additional processes allow whole new programs
  88. to be loaded and run concurrently.
  89.  
  90.  
  91.                    Presentation Management
  92.  
  93. Because DESQview lets you run more than one program at a time, DESQview
  94. provides a way to view more than one program at a time on the screen.  DESQview
  95. does this by mapping each program into its own "window" and by managing
  96. the display of multiple windows on the screen.
  97.  
  98. To DESQview, windows are rectangular areas of displayable information.
  99. They may be moved, resized, colored, and reordered by either the user
  100. or by your program.  Everything that is displayed on the screen under
  101. DESQview is displayed in a window.
  102.  
  103. Multiple windows are not only useful for displaying several programs
  104. simultaneously, but may also be used within a single program to display
  105. menus, help screens, error messages. DESQview provides facilities
  106. for storing complete descriptions of such windows, (known by DESQview
  107. as "panels"), on disk or in your program and displaying them with
  108. a single call to the API. These panels may be as simple as one-line
  109. error messages or as complex as data entry forms with multiple-choice
  110. and data entry fields.
  111.  
  112. Once a panel has been displayed, your program can ask DESQview's "field
  113. manager" to process all user input to the panel including mousing
  114. and data entry editing. The field manager returns the results to your
  115. program in a simple, field-oriented format,  independent of the appearance
  116. of the panel.
  117.  
  118. The use of panels and the field manager not only simplifies the job
  119. of programming an application, but gives a consistency to the user
  120. interface that makes the learning of new applications easier.
  121.  
  122.  
  123.                    Intertask Communications
  124.  
  125. So that DESQview-specific programs can rapidly exchange information,
  126. DESQview provides a wide range of intertask communications facilities.
  127. These facilities allow several concurrently running tasks to exchange
  128. information or signals, to lock access to common resources, to share
  129. common code and data, and to interrupt each other to handle critical
  130. events. These tasks can be in either the same or in different processes.
  131.  
  132. Intertask communication is the key to building complex applications
  133. in a multitasking environment. Let's say, for example, you are building
  134. a point of sale system, that handles a dozen cash registers for a
  135. department store. Using DESQview you could break your application
  136. up into fourteen tasks; one for each of the cash registers, one to
  137. handle access to the pricing data- base, and one to track sales and
  138. generate management reports. The cash register tasks would process
  139. keystrokes from the clerk until an item price is needed. They would
  140. then send a message to the database task requesting the price. The
  141. database task would log the sale and return the price to the sender
  142. of the request. Meanwhile, the store manager could interact with the
  143. reporting task to monitor sales, clerk performance, etc.
  144.  
  145.  
  146.                       Data Transfer
  147.  
  148. DESQview supports two types of user-initiated data transfer. The first
  149. type, called Mark and Transfer, lets a user mark text in any window
  150. and transfer that text to any other application. The application receiving
  151. the data can be DESQview-oblivious, seeing the data as normal keyboard
  152. input.
  153.  
  154. More sophisticated transfers are possible between DESQview-specific
  155. applications that support the DESQview Scissors command. When the
  156. user marks data in such an application, DESQview notifies the application
  157. that data has been requested and lets the application determine exactly
  158. what data to supply. The application may supply anything including
  159. text, formulas, or even graphics images. When the user instructs DESQview
  160. to Paste the data into another application, that application is also
  161. notified so that the data can be handled appropriately.
  162.  
  163. The applications involved in a Scissors transfer can even use DESQview's
  164. intertask communication facilities to setup a "hot-link" between themselves
  165. so that subsequent changes to the data are automatically reflected
  166. in both applications.
  167.  
  168.  
  169.                          Memory Management
  170.  
  171. Programs running under DOS are typically given all of a PC's memory
  172. to do with as they please. In a multitasking environment, memory must
  173. be managed so that more than one program can be loaded at a time and
  174. so that no single program is given more memory than it needs. DESQview
  175. provides this management in a way that adapts to the type of memory
  176. hardware available on your PC.
  177.  
  178. If your PC has 640K of conventional memory, DESQview is able to multitask
  179. as many programs as will fit in memory at the same time. Additional
  180. programs can be loaded but will cause the least recently used programs
  181. to be suspended and swapped to disk to make room in memory for the
  182. new ones.
  183.  
  184. If you have EMS 3.2 (Lotus-Intel-Microsoft Expanded Memory), DESQview
  185. will swap programs to expanded memory instead of to disk. This is
  186. so much faster than swapping to disk that the swap time is almost
  187. not noticeable.
  188.  
  189. If you have EMS 4.0 or EEMS (AST-Quadram-Ashton Tate Enhanced Expanded
  190. Memory) or a 386-based PC with an EMS 4.0 driver, DESQview can actually
  191. multitask as many programs as will fit in conventional and expanded
  192. memory. This can be as high as 32-Megabytes worth of programs. DESQview
  193. can also run a large part of itself in expanded memory, giving a much
  194. larger maximum program size.
  195.  
  196.  
  197.                      Customization
  198.  
  199. Although DESQview is best known for its ability to run off-the-shelf
  200. software concurrently, DESQview is an ideal platform for developing
  201. customized vertical market applications and workstations. In addition
  202. to providing multitasking and windowing services, DESQview can be
  203. customized to provide the user interface appropriate to a particular
  204. application.
  205.  
  206. This customization can take the form of restricting access to certain
  207. DESQview menus, taking special action when certain menu items are
  208. selected, or, in the extreme, disabling all access to DESQview menus
  209. and providing the entire user interface as part of the application.
  210.  
  211. In this latter case, the only part of DESQview that the user sees
  212. is a copyright screen during start-up.
  213.  
  214.  
  215.                        Portability
  216.  
  217. DESQview with its entire API runs on 8088, 8086, 80286 and 80386 PCs
  218. as well as the IBM Personal System/2s. This means that an application
  219. that you write to be DESQview-specific can run on any PC from a laptop
  220. dual-floppy PC to the very latest 386-based PC. It can even run over
  221. a network on a diskless PC. Thus, the market for your DESQview-specific
  222. application extends to the entire base of existing and future DOS PCs.
  223.  
  224.